package com.piece.core.pay.dto;

import com.piece.core.pay.enums.PayNotifyRefundStatusType;
import lombok.Builder;
import lombok.Data;
import lombok.ToString;
import java.util.Date;

/**
 * 支付退款通知数据
 *
 * <p>
 *     1. 调用微信支付 https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_1_11.shtml
 *     2. 调用支付宝 https://opendocs.alipay.com/open/029yy3
 * </p>
 */
@Data
@Builder
@ToString
public class PayRefundNotifyDTO {

    /**
     * 微信支付订单号
     */
    private String channelOrderNo;

    /**
     * 交易订单号
     */
    private String tradeNo;

    /**
     * 退款请求号。
     */
    private String reqNo;

    /**
     * 退款金额
     */
    private Long amount;

    /**
     * 退款是否成功
     */
    private PayNotifyRefundStatusType status;

    /**
     * 退款成功时间
     */
    private Date refundSuccessTime;
}
